// 引入createApp用于创建应用
import { createApp } from 'vue';
// 引入App根组件
import App from './App.vue';
// 引入路由器
import router from './router';
import ElementPlus from 'element-plus';
import './style.css';
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
import store from './store/index';

// 路由守卫
router.beforeEach((to, from) => {
  const token = localStorage.getItem('pz_token');
  // 非登录页面 token不存在
  if (!token && to.path !== '/login') {
    return '/login';
  } else if (token && to.path === '/login') {
    return '/';
  } else {
    return true;
  }
});

// 创建一个应用
const app = createApp(App);
// 遍历app 全局注册icon组件
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component);
}
// 使用路由器
app.use(router);

// 挂载vuex
app.use(store);

app.use(ElementPlus);
// 挂载整个应用到app容器中
app.mount('#app');
